too many open files 问题解决方法

您所在的位置:网站首页 linux openfiles 不生效 too many open files 问题解决方法

too many open files 问题解决方法

2023-05-05 01:02| 来源: 网络整理| 查看: 265

1 问题描述

Linux操作系统上经常会遇到too many open files文件句柄数不足问题

场景:

有时PG或MySQL数据库会因为操作系统open files打开文件数耗尽而导致数据库异常、主从切换;

苍穹星瀚升级也会碰到too many open files类似问题。

部分中间件偶发情况下也有相关问题。

PG数据库异常示例

苍穹星瀚升级报错示例

2 解决方法

(1)系统服务启动默认读取 /etc/systemd/system.conf ,修改后要重启操作系统生效。

DefaultLimitNOFILE=1000000

DefaultLimitNPROC=1000000

(2)如PG服务可以在服务启动文件里设定最大文件数,如果没有设定会读取 /etc/systemd/system.conf值。

以PG为例,对服务配置文件/usr/lib/systemd/system/postgresql.service进行了设置则会读取自身配置值

[Service]

LimitNOFILE=1000000

LimitNPROC=1000000

运行如下命令生效

systemctl daemon-reload

systemctl restart postgresql

检查是否生效

cat /proc/服务进程号/limits

Max processes             1000000              1000000              processes

Max open files             1000000              1000000              files

(3)动态修改系统内核参数 /etc/sysctl.conf

fs.file-max = 1000000

执行命令生效

sysctl -p   

3 注意事项

在不能重启服务器的情况下,可优先修改service服务配置文件。

由于苍穹相关服务(数据库、中间件、K8S容器)均是由service服务进行启停,所以以修改system.conf和服务配置文件为主。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3